﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SharedLib.WinFormMVCFramework
{
    public interface IFormView : IView
    {
        /// <summary>
        /// Display the view normally.
        /// </summary>
        void Show();

        /// <summary>
        /// Display the view modally. Returns only when the view is closed
        /// </summary>
        /// <returns>The user interaction result</returns>
        bool ShowModal();

        /// <summary>
        /// The last user interaction result
        /// </summary>
        bool ModalResult
        {
            get;
        }

        /// <summary>
        /// Occurs when view is closed
        /// </summary>
        event EventHandler<ViewClosingEventArgs> ViewClosing;

        void ApplyLanguage(LanguageManager manager);
    }
}
